import {
  registerMicroApps,
  addGlobalUncaughtErrorHandler,
  start,
} from 'qiankun';

// 注册微应用信息
import apps from '../apps';


/**
 * 注册微应用
 * 第一个参数 - 微应用的注册信息
 * 第二个参数 - 全局生命周期钩子
 */
registerMicroApps(apps, {
  // qiankun生命周期钩子函数 ---> 微应用加载前
  beforeLoad: () => {
    console.log('微应用加载前');
    return Promise.resolve();
  },
  // qiankun生命周期钩子函数 ---> 微应用加载后
  afterMount: () => {
    console.log('微应用加载完成');
    return Promise.resolve();
  },
});

/**
 * 添加全局的未捕获异常处理器
 */
addGlobalUncaughtErrorHandler((event) => {
  console.error(event);
  // 加载失败时提示
});


// 导出qiankun启动函数
export default start;
